import React, { Component } from 'react'
import Protype from 'prop-types'
import { nanoid } from 'nanoid'

export default class Header extends Component {

  // 接收props的规则
  static propType = {
    addTodo: Protype.func.isRequired
  }

  // 键盘事件
  handleKeyUp = (event) => {
    // 获取keyCode，target
    const { keyCode, target } = event
    // 判断是不是回车键
    if (keyCode !== 13) return
    // 判断数据不能为空，并清除两边空格
    if (target.value.trim() === '') {
      alert('不能为空')
      return
    }
    // 将数据装入对象中
    const obj = { id: nanoid(), name: target.value, done: false }
    // 通过方法形参,传递给外层组件
    this.props.addTodo(obj)
    // 清空输入框
    target.value = ''
  }

  render() {
    return (
      <div className="todo-header">
        <input onKeyUp={this.handleKeyUp} type="text" placeholder="请输入你的任务名称，按回车键确认" />
      </div>
    )
  }
}
